我是工作年資2年的雲端軟體工程師,趁入職前的小空檔,發幾篇文章,之後很忙應該就不會發文了,2個月面了超過20幾家也拿了近7個的offer,先聲明只是中小企業,跟進大公司或真外商的屠榜大神的完全不能比,因為在核薪時資深跟非資深薪水差非常多,所以特別拉出來討論,先說結論,我不認為自己是資深,人資給我核的薪水也只是工程師職級
如果你對離職、博弈業、非本科轉職有興趣,可以參考以下文章
離職的藝術
博奕業奇葩面試經驗談
非本科求職的分析與困境
轉職IT產業
廢話不多說,正文開始
最直觀,但參考性不高,聽過30人以下的小公司讓兩年年資的員工掛到CTO,然後薪水只有4~6萬,沒錯就是這麼蝦,大公司的 individual contributor,可能比小公司的 manager 領得多,不建議參考職稱
大致上的說法是五年以上,有人資會用工作年資擋,沒到就是不會被點開履歷,但容易看走眼,之前筆者公司有年資七年的資深工程師還在寫getData()這種方法,類完全不切,同時違反單一職責、開放封閉、里氏替換、介面隔離、依賴注入等設計原則,但也有可能是有特殊考量但筆者想不到,總之我認為以年資論非常容易看走眼
大概分成演算法跟系統設計兩種判斷方式,演算法俗稱刷題,不一定能找出能力最強的工程師,但通常能篩出最聰明跟最努力的,不過有寫過類似題目可能會破壞公正性
個人認為系統設計實作是最公平的判定方式,上機考騙不了人,面試時吹得天花亂墜也沒用,例如設計電商瞬時搶券,透過程式碼的實作可以考出受試者對於資源競爭、鎖、臨界條件、交易隔離層級的精熟度,畢竟測資不騙人,從方法、變數、檔案的切分與命名,能看出對於設計模式、乾淨編程、乾淨架構的掌握,個人認為是最公正且高度相關的判別方式
有公司讓研究所畢業的新人直接掛資深工程師,聽起來相當合理,但自己合作過的同事是國立頂大工程碩士,無法獨立作業,連套件相依性衝突都解決不掉,小主管跟我整天幫他擦屁股,這位仁兄的薪水大概是我的1.5倍,隔三差五被大主管叫進去罵,不久就離職了,因此我不認為學歷是一個精準的判定標準
有些單純浪費時間,薪水開不起然後問東問西,跟薪資調查沒兩樣,不過還是有得到不少有用資訊,主要看人選期間內產出,公式是
(工作成就+專業能力) / 年資,接下來就是以目前的薪水去對應矩陣,判定人選大概落在哪個級別
雖然大多數人回家只想躺平,但不能否認仍有一部分人活躍於開源社群,透過業餘的投入獲得專家的稱號,例如LINE API Expert、Google Developer Experts,廣義來說這些稱號的含金量可比資深工程師高不少
資深工程師通常能獨立作業也能團隊合作,將專案快速轉成營收,替公司導入提高收益降低成本的技術架構,並指導新手工程師快速進入狀況,可以說是萬金油,我自己的判斷方式更加粗暴,沒有你,明天團隊一片混亂,那無庸置疑就是資深工程師
除了"能獨立作業也能團隊合作"
我還會用以下區分 "主管要花費多少心思在你身上" 以及 "你對團隊/專案下多少心思"
"主管要花費多少心思在你身上"
例如上面交代事情,需要反覆跟你協調確認、時刻叮囑、要人跟前跟後、收尾審核常被反覆退件。反饋給主管的東西,沒系統、重點模糊、自己也不明白。遇不合理要求,總是直接拒絕,不考慮主管/公司立場。不懂安排自己的工作時程、不懂配合上級與其他團隊時程。讓人不省心。
"你對團隊/專案下多少心思"
行事處於被動、一個口令一個動作,總以基本完成作結,做不到完善、模組化、系統化。與部門/同事溝通冷淡,習慣工作全攬/全放,排斥向外求救/協作。考慮不夠周全、沒信心提供自己專業意見,不懂善用自身能力。不思考不涉略新技術,不清楚自己的短處,不主動精進。
其實願意花自己的時間就能成為"資深工程師",當然靠年資成為一個資深也是花自己時間,只要不被淘汰即可。畢竟,新鮮的肝有的是時間,資訊科技也不會等你。
btw...
沒有你,明天團隊一片混亂
這種話不過是自我安慰。如果你真的厲害,你會懂安排,確定少了你也能運作。若你很差,你不會被交付生死大權,自然你的去留不關乎運作。
我更傾向於 "少了我,團隊不會更好",還有 "公司要花多少時間/成本去培養另一個我",來判斷自我價值。